package com.javaex.book.service;

import java.math.BigDecimal;
import java.util.List;

import com.javaex.book.pojo.Book;
import com.javaex.book.utils.Pagination;
import com.javaex.book.utils.ReturnResult;

public interface BookService {

	/**
	 * 添加图书
	 * @param book 图书信息
	 * @return 数据表受影响行数
	 */
	ReturnResult addBook(Book book);
	
	/**
	 * 根据id删除图书信息
	 * @param id 图书id
	 * @return 数据表受影响行数
	 */
	Integer deleteBookById(Integer id);
	
	/**
	 * 修改图书信息
	 * @param book 用于修改的图书信息
	 * @return 受影响的行数
	 */
	Integer updateBook(Book book);
	
	/**
	 * 根据id查询图书信息
	 * @param id 查询id
	 * @return 图书信息
	 */
	Book queryBookById(Integer id);
	
	/**
	 * 查询多个图书信息
	 * @param pagination 分页
	 * @param minPrice 最低价
	 * @param maxPrice 最高价
	 * @return 图书信息集合
	 */
	List<Book> queryBookList(Pagination pagination, BigDecimal minPrice, BigDecimal maxPrice);
	
	/**
	 * 查询图书总数量
	 * @param minPrice 最低价
	 * @param maxPrice 最高价
	 * @return 图书总数
	 */
	Integer countBooks(BigDecimal minPrice, BigDecimal maxPrice);
}
